package com.project.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.project.bean.PurchaseCarBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author lyl
 * description:采购管理业务
 */
@Mapper
public interface IPurchaseCarDao extends BaseMapper<PurchaseCarBean> {
    /**
     * 根据当前选中的供应商id
     * 查看旗下相关的采购物品信息
     *
     * @param supplierId
     * @param userId
     * @return
     */
    List<PurchaseCarBean> showPurchaseCarById(@Param("supplierId") int supplierId, @Param("userId") int userId);


    /**
     * 根据当前的供应商id、当前的用户id以及当前商品id
     * 进行购买商品数量的修改
     *
     * @param supplierId
     * @param userId
     * @param productId
     * @param num
     * @return
     */
    int updatePurchaseNum(@Param("supplierId") int supplierId, @Param("userId") int userId, @Param("productId") int productId, @Param("num") int num);

    int cleanNum(@Param("userId") int userId, @Param("supplierId") int supplierId);

    /**
     * 查询出当前购买数量大于0的商品集合
     *
     * @param userId
     * @param supplierId
     * @return
     */
    List<PurchaseCarBean> showNumOverZero(@Param("userId") int userId, @Param("supplierId") int supplierId);

    /**
     * 预存单处添加新的信息
     *
     * @param userId
     * @param supplierId
     * @param productId
     * @param purchaseNum
     * @return
     */
    int addNewPurchaseToCar(@Param("userId") int userId, @Param("supplierId") int supplierId, @Param("productId") long productId, @Param("purchaseNum") int purchaseNum);


//    /**
//     * 将对应供应商并且对应当前用户的商品进行群体采购入库
//     * 转移预处理入库单为真实订单
//     *
//     * @param supplierId 供应商id
//     * @param userId     用户id
//     * @return
//     */
//    InfoResult purchaseProducts(@Param("supplierId") int supplierId, @Param("userId") int userId);
}
